// Package sysin
// @Link  https://github.com/bufanyun/hotgo
// @Copyright  Copyright (c) 2025 HotGo CLI
// @Author  Ms <133814250@qq.com>
// @License  https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.15.11
package sysin

import (
	"context"
	"hotgo/internal/model/entity"
	"hotgo/internal/model/input/form"

	"github.com/gogf/gf/v2/os/gtime"
)

// WalletWithdrawalLogDeleteInp 删除钱包-提现记录
type WalletWithdrawalLogDeleteInp struct {
	Id interface{} `json:"id" v:"required#id不能为空" dc:"id"`
}

func (in *WalletWithdrawalLogDeleteInp) Filter(ctx context.Context) (err error) {
	return
}

type WalletWithdrawalLogDeleteModel struct{}

// WalletWithdrawalLogViewInp 获取指定钱包-提现记录信息
type WalletWithdrawalLogViewInp struct {
	Id int64 `json:"id" v:"required#id不能为空" dc:"id"`
}

func (in *WalletWithdrawalLogViewInp) Filter(ctx context.Context) (err error) {
	return
}

type WalletWithdrawalLogViewModel struct {
	entity.WalletWithdrawalLog
}

// WalletWithdrawalLogListInp 获取钱包-提现记录列表
type WalletWithdrawalLogListInp struct {
	form.PageReq
	Id                  int64         `json:"id"                  dc:"id"`
	CreatedAt           []*gtime.Time `json:"createdAt"           dc:"申请时间"`
	StoreName           string        `json:"storeName"           dc:"门店名称"`
	StorePhone          string        `json:"storePhone"          dc:"门店电话"`
	AdminMemberNickname string        `json:"adminMemberNickname" dc:"微信昵称"`
}

func (in *WalletWithdrawalLogListInp) Filter(ctx context.Context) (err error) {
	return
}

type WalletWithdrawalLogListModel struct {
	Id                  int64       `json:"id"                  dc:"id"`
	Amount              float64     `json:"amount"              dc:"提现金额"`
	To                  string      `json:"to"                  dc:"转到银行卡号"`
	TradeNo             string      `json:"tradeNo"             dc:"流水号"`
	CreatedAt           *gtime.Time `json:"createdAt"           dc:"申请时间"`
	StoreName           string      `json:"storeName"           dc:"门店名称"`
	StorePhone          string      `json:"storePhone"          dc:"门店电话"`
	AdminMemberNickname string      `json:"adminMemberNickname" dc:"微信昵称"`
}

// WalletWithdrawalLogExportModel 导出钱包-提现记录
type WalletWithdrawalLogExportModel struct {
	Id                  int64       `json:"id"                  dc:"id"`
	StoreId             int64       `json:"storeId"             dc:"商家 id"`
	MemberId            int64       `json:"memberId"            dc:"申请人 id"`
	Amount              float64     `json:"amount"              dc:"提现金额"`
	To                  string      `json:"to"                  dc:"转到银行卡号"`
	TradeNo             string      `json:"tradeNo"             dc:"流水号"`
	CreatedAt           *gtime.Time `json:"createdAt"           dc:"申请时间"`
	StoreName           string      `json:"storeName"           dc:"门店名称"`
	StorePhone          string      `json:"storePhone"          dc:"门店电话"`
	AdminMemberNickname string      `json:"adminMemberNickname" dc:"微信昵称"`
}